// stores/mqttStore.ts
import { defineStore } from 'pinia';
import {mqttClient, MQTTClient} from '/@/utils/mqttplugin';

export const useMqttStore = defineStore('mqtt', {
  state: ():MQTTClientState => ({
    client: null as MQTTClient | null, // 当前用户的MQTT连接实例
    isConnected: false // 连接状态
  }),
  actions: {
    // 初始化用户专属连接（登录后调用）
    initUserMqtt() {
      // 销毁已有连接（避免重复连接）
      if (this.client) {
        this.client.disconnect();
      }
      this.client=mqttClient
      // 创建新实例（用用户ID作为clientId前缀，确保唯一性）
     
      // 监听连接状态
      this.client.connect(); 
    },
    // 断开连接（登出时调用）
    disconnect() {
      if (this.client) {
        this.client.disconnect();
        this.client = null;
        this.isConnected = false;
      }
    }
  }
});